// const app = getApp()
let username = ''
let secretKey = ''
let newPassword = ''



Page({
    data: {
      inputValue: '',
      showModal2: false,   // 添加一个显示模态框状态的变量
      showModalStatus: false,
    },
    'Key'(e){
        this.data.nickname1 = e.detail.value
      },
    handleInput: function(e) {
      this.setData({ inputValue: e.detail.value });
    },
    handleConfirm: function() {
      var shiftedString = this.data.inputValue.split('').map(char => String.fromCharCode(char.charCodeAt(0) + 2)).join('');
      if (shiftedString.trim() !== "") {
        wx.setStorageSync('shiftedString', shiftedString);
        wx.showToast({   // 添加一个提示用户成功的Toast
          title: '存储密钥成功',
          icon: 'success',
          duration: 2000
        });
      }
      this.setData({ showModal2: false }); // 确定后隐藏模态框
    },
    handleCancel: function() {
      this.setData({ showModal2: false }); // 取消后隐藏模态框
    },
    openModal: function() {
      this.setData({ showModal2: true }); // 点击按钮时弹出模态框
    },



    //拒绝
  close(e) {
    wx.showModal({
      editable:true,//显示输入框
      placeholderText:'本机账号密钥',//显示输入框提示信息
      success: res => {
        if (res.confirm) { //点击了确认
          console.log(res.content)//用户输入的值
          var inputValue = res.content;
          var shiftedString = inputValue.split('').map(char => String.fromCharCode(char.charCodeAt(0) + 2)).join('');
          if (shiftedString.trim() !== "") {
              console.log(shiftedString)
              wx.setStorageSync('shiftedString', shiftedString);
              wx.showToast({   // 添加一个提示用户成功的Toast
                title: '密钥存储成功',
                icon: 'success',
                duration: 2000
              });
          }
  

        } else {
          console.log('用户点击了取消')
        }
      }
    })
  },



  username(event) {
    username = event.detail.value
    console.log("username", username)
  },
  secretKey(event) {
    secretKey = event.detail.value
    console.log("secretKey", secretKey)
  },
  newPassword(event) {
    newPassword = event.detail.value
    console.log("newPassword", newPassword)
  },
  checkAndSubmit: function (e) {
    if (!username || !secretKey || !newPassword) {
      this.showToast('输入部分不能为空');
      this.update({currentTarget: {dataset: {statu:"close"}}});
      return;
    }
    let username2 = this.shiftString(username)
    let secretKey2 = this.shiftString(secretKey)
    let newPassword2 = this.shiftString(newPassword)

    let userInfo = wx.getStorageSync('userInfo')
    let shiftedUsername = wx.getStorageSync('userName')
    let shiftedSecretKey = wx.getStorageSync('shiftedString')

    if(username2 !== shiftedUsername){
      this.showToast('本机账号有误');
      this.update({currentTarget: {dataset: {statu:"close"}}});
      return;
    }

    if(newPassword2 !== shiftedSecretKey){
      this.showToast('本机密钥有误');
      this.update({currentTarget: {dataset: {statu:"close"}}});
      return;
    }

    let oldPassword = userInfo.password

    this.sendUpdateRequest(username2, oldPassword, newPassword2);
  },
  shiftString: function (str){
    let shiftedStr = '';
    for (let i = 0; i < str.length; i++) {
      let shiftedChar = String.fromCharCode(str.charCodeAt(i) + 2);
      shiftedStr += shiftedChar;
    }
    return shiftedStr;
  },
  showToast: function(msg) {
    wx.showToast({
      title: msg,
      icon: 'none',
      duration: 2000
    });
  },
  sendUpdateRequest: function(username2, oldPassword, newPassword2) {
    wx.request({
      url: '/update',
      method: 'POST',
      data: {
        nickname: username2,
        password: oldPassword,
        newPassword: newPassword2
      },
      success: (res) => {
        if (res.data.code == 200) {
          this.showToast("密码更改成功,请重新登陆");
          this.update({currentTarget: {dataset: {statu:"close"}}});
        } else {
          this.showToast(res.data.message);
        }
      }
    });
  },


  });
  
// Page({
//     data: {},
  
//     // 弹出找回密码对话框
//     openModal: function () {
//         wx.showModal({
//             title: '找回密码',
//             content: '',
//             showCancel: true,
//             cancelText: '取消',
//             confirmText: '确定', 
//             success: function(modal) {
//               if (modal.confirm) {
//                 let account = modal.data.values[0];
//                 let secretKey = modal.data.values[1];
//                 let newPass = modal.data.values[2];
          
//                 // 校验输入是否为空
//                 if (!account || !secretKey || !newPass) {
//                   wx.showToast({ title: '输入不能为空！' });
//                   return;
//                 }
          
//                 // 对输入进行ascii码向后移动两位的处理
//                 let account2 = asciiShift(account, 2);
//                 let secretKey2 = asciiShift(secretKey, 2);
//                 let newPass2 = asciiShift(newPass, 2);
          
//                 // 获取系统缓存的用户信息
//                 let sysAccount = wx.getStorageSync('userName');
//                 let sysKey = wx.getStorageSync('shiftedString');
//                 let userInfo = wx.getStorageSync('userInfo');
//                 let oldPassword = userInfo.password;
          
//                 // 校验账号和密钥是否正确
//                 if (account2 !== sysAccount) {
//                   wx.showToast({ title: '本机账号有误！' });
//                   return;
//                 }
//                 if (newPass2 !== sysKey) {
//                   wx.showToast({ title: '本机密钥有误！' });
//                   return;
//                 }
          
//                 // 发起网络请求，更改密码
//                 wx.request({
//                   url: '/update',
//                   method: 'POST',
//                   data: {
//                     nickname: account2,
//                     password: oldPassword,
//                     newPassword: newPass2
//                   },
//                   success(res) {
//                     if (res.data.code == 200) {
//                       wx.showToast({ title: '更改密码成功！' });
//                       // TODO: 自动登出用户并提示用户重新登陆
//                     } else if (res.data.code == 10004) {
//                       wx.showToast({ title: '账号或者密码错误！' });
//                     } else {
//                       wx.showToast({ title: '错误信息：' + res.data.message });
//                     }
//                   },
//                   fail() {
//                     wx.showToast({ title: '网络请求失败！' });
//                   }
//                 })
//               }
//             }
//           })
          
//           // ascii码偏移函数
//           function asciiShift(input, shift) {
//             let output = '';
//             for (let i = 0; i < input.length; i++) {
//               let charCode = input.charCodeAt(i) + shift;
//               output += String.fromCharCode(charCode);
//             }
//             return output;
//           }
          
//     }
//   })
  